A communication system, which may include a website, may enable its users (such as persons or organizations) to interact with it and with each other through it. The communication system may comprise, for example, a social-networking system, other suitable communication systems, or any combination thereof. The website may comprise a social-networking website, other suitable website, or any combination thereof. The communication system may, with input from a user, create and store in the communication system a user profile associated with the user. The user profile may include demographic information, communication-channel information, and information on personal interests of the user. The communication system may also, with input from a user, create and store a record of relationships of the user with other users of the communication system, as well as provide services (e.g. wall posts, photo-sharing, event organization, messaging, games, or advertisements) to facilitate social interaction between or among users.
The communication system may send over one or more networks content or messages related to its services to a mobile or other computing device of a user. A user may also install software applications on a mobile or other computing device of the user for accessing a user profile of the user and other data within the communication system. The communication system may generate a personalized set of content objects to display to a user, such as a newsfeed of aggregated stories of other users connected to the user.
Social-graph analysis views social relationships in terms of network theory consisting of nodes and edges. Nodes represent the individual actors within the networks, and edges represent the relationships between the actors. The resulting graph-based structures are often very complex. There can be many types of nodes and many types of edges for connecting nodes. In its simplest form, a social graph is a map of all of the relevant edges between all the nodes being studied.